Open
Conversation
The Base Plant logic was originally based upon timestamps were initialized at -1 to indicate no data had been updated. This would cause issues when combined with ROS so we changed the initialization value of timestamps to 0. This commit fixes the resulting logic bugs that relied on timestamps of -1 to determine whether or not to run various code. Basic things include no calls to pubControl() until there a control sequence has been calculated, and waiting for a new state logic. - Change explicit calls to exit() into throwing exceptions - Existing unit tests have been updated - New unit tests written to explicitly test the new logic adjustments.
- Add get/set methods for buffer_dt value - Remove template instantiation for specific buffer types as this can cause "target already defined" errors
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plant unit tests were failing/hanging due to a change in initialization (times were previously initialized to -1 but are now initialized to 0) so these commits update the plant logic to properly handle the new time initialization robustly.
Also removed
exit(-1)lines in the base plant and replaced them with runtime exceptions for better flexibility.